//Page Object
const url = require('../../config/config.js')
Page({
    data: {
        // 订单详细的数据
        orderDetail: {},
        // 标签内容
        tagList: [],
        // 切换导航栏
        tabIndex: 0 + '',
        state: 0,
        id: 0,
        // 输入值
        inputValue: "",
        // 图片
        imgPics: [],
        //图片链接数组
        imgArray: [],
        // 用户名
        name: ''



    },
    // 图片文件订单参数
    dir: `/task/${this.id}-${this.orderNum}`,
    //
    taskVo: { state: 0, id: 0 },
    // 用户id
    id: 0,
    // 内容
    content: '',
    // 选项框
    radio: 4,
    // 内容以及当前管理员
    taskTagVo: { content: '' },
    // 用户订单
    orderNum: '',


    //options(Object)
    onLoad: function(options) {
        const user = wx.getStorageSync("user");
        console.log(user)

        const name = user.userName;
        console.log(name)
        this.setData({
            name
        })

        const { id } = options;
        //任务id存进去了
        this.setData({
            id
        })
        this.orderDetail(id);
        // 任务id
        this.taskVo.id = id;
        // 获取订单图片内容 


    },
    onReady() {

    },
    onShow() {
        //读取token，如果token不存在,直接不给予返回
        const token = wx.getStorageSync("token");
        console.log(token)
        if (!token) {
            wx.navigateTo({
                url: '/pages/login/index'
            });
        }
    },
    // 请求数据
    orderDetail(id) {
        const header = {
            'content-type': 'application/json',
            'Cookie': "JSESSIONID=" + wx.getStorageSync("token") //读取cookie
        }
        wx.request({
            url: url.b.task,
            data: { id },
            header: header,
            method: 'GET',
            dataType: 'json',
            responseType: 'text',
            success: (result) => {
                try {

                    wx.showLoading({
                        title: "加载中",
                        mask: true,
                    });
                    const orderDetail = result.data.data;
                    console.log(result)
                        // 任务订单号
                    const { orderNum } = result.data.data.data;
                    console.log(orderNum);
                    this.orderNum = orderNum;
                    this.getPic();
                    const { tagList } = result.data.data.data;
                    const { state } = result.data.data.data;
                    // 图片数组
                    console.log(tagList)
                    console.log(this.dir)
                    this.setData({
                        orderDetail,
                        tagList,
                        tabIndex: state,
                    })
                    wx.hideLoading();
                } catch (error) {
                    wx.showToast({
                        title: '登陆过期',
                        icon: 'none',
                    });
                    wx.removeStorageSync({ token: "token" });
                    wx.navigateTo({
                        url: '/pages/login/index',

                    });

                }
            }
        });


    },
    // 动态修改样式
    handleTap(e) {
        // console.log(e)
        const { index } = e.currentTarget.dataset;
        this.setData({
                tabIndex: index
            }),
            // 同时修改状态
            this.taskVo.state = index;
        this.reviseState()
    },
    //修改state的接口
    reviseState() {
        const header = {
                "Content-Type": "application/x-www-form-urlencoded",
                'Cookie': "JSESSIONID=" + wx.getStorageSync("token") //读取cookie
            }
            // 获取用户id
        var id = wx.getStorageSync("id");
        this.id = id;
        wx.request({
            url: url.b.task,
            //注意post请求，需要变化的是提交的数据必须是字符串，第二个数字不用转化为字符串
            // header请求头需要变化
            data: { taskVo: JSON.stringify(this.taskVo), id: this.id },
            header: header,
            method: 'POST',
            dataType: 'json',
            responseType: 'text',
            success: (result) => {
                console.log(result)
                wx.showToast({
                    title: '提交成功',
                    icon: 'none',
                });
            },
            fail: (err) => {
                console.log(err)
            }
        });
    },
    // 监听textarea
    handleInput(e) {
        const { value } = e.detail;
        this.content = value;
        this.taskTagVo.content = value;
    },
    // 处理选项框
    radioChange(e) {
        console.log(e)
        const { value } = e.detail;
        this.radio = value;
        console.log(this.radio)
    },
    // 发送选项框以及内容的数据
    handleSend() {
        // 首先判断有没有值得存在
        if (this.content.length > 0 && this.radio < 3) {
            this.sendView();
            // 发送完清一下数据
            this.content = ''

        } else {
            wx.showToast({
                title: '请填写输入框的内容以及选中想要发送的消息',
                icon: 'none'
            });
        }
    },
    // 反馈意见
    sendView() {
        const header = {
            "Content-Type": "application/x-www-form-urlencoded",
            'Cookie': "JSESSIONID=" + wx.getStorageSync("token") //读取cookie
        }
        wx.request({
            url: url.b.taskTag,
            data: { msgType: this.radio, taskId: this.taskVo.id, taskTagVo: JSON.stringify(this.taskTagVo) },
            header: header,
            method: 'POST',
            dataType: 'json',
            responseType: 'text',
            success: (result) => {
                console.log(result)
                    // 获取当前任务id
                    // 刷新一下数据
                this.orderDetail(this.data.id);
                //重置数据
                this.setData({
                    inputValue: ''
                })
            }
        });
    },
    // 获取订单图片
    getPic() {
        const header = {
            'content-type': 'application/json',
            'Cookie': "JSESSIONID=" + wx.getStorageSync("token") //读取cookie
        }
        wx.request({
            url: url.b.list,
            data: { dir: `/task/${this.data.id}-${this.orderNum}` },
            header: header,
            method: 'GET',
            dataType: 'json',
            responseType: 'text',
            success: (result) => {
                console.log(result)
                const imgPic = result.data.data;
                // 处理img图片
                let imgArray = [];
                imgPic.forEach(v => {
                    v.url = url.b.file + v.url;
                    imgArray.push(v.url);

                })
                this.setData({
                    imgPics: imgPic,
                    imgArray: imgArray

                })
                console.log(this.data.imgPics)
            }
        });
    },
    // 点击图片预览
    previewImg(e) {
        console.log(e)
        var imgUrl = e.currentTarget.dataset.src; //获取当前点击的图片
        var imgArr = this.data.imgArray;
        wx.previewImage({
            current: imgUrl, //当前图片地址
            urls: imgArr, //所有要预览的图片的地址集合数组形式
            urls: [imgUrl], //一张图写法
        })
    },
    // 点击按钮保存图片
    downLoad(e) {
        var imgUrl = e.currentTarget.dataset.src;
        wx.downloadFile({
            url: imgUrl, //仅为示例，并非真实的资源
            success: function(res) {
                // 只要服务器有响应数据，就会把响应内容写入文件并进入 success 回调，业务需要自行判断是否下载到了想要的内容
                if (res.statusCode === 200) {
                    wx.saveImageToPhotosAlbum({
                        filePath: res.tempFilePath,
                        success(res) {
                            wx.showToast({
                                title: '保存图片成功！',
                            })
                        },
                        fail(res) {
                            wx.showToast({
                                title: '保存图片失败！',
                            })
                        }
                    })
                }
            }
        })
    }



});